Environment: a set of packages/tools in a directory (added to our
PATH)
Conda: an open source package + a general-purpose environment
management system (installation, execution, upgrade). For any
programming language, multi-platform (Windows, MacOS, Linux).
Conda package: a compressed tarball of a tool
avoid compilation and dependencies problems: an environment manager
will take care of everything!
have several environments in parallel each with their own set of
tools
useful when cross-tools dependencies are incompatible with each
other
Anaconda: a data science platform, comes with a lot of packages
Miniconda: come without installed packages
Anconda cloud, the “conda hub”
Anaconda cloud (private company) relies on the community of developers, concerns many domains (Machine Learning, Data Visualization,Dashboarding-web, Image Processing, Natural Language Processing, etc)
Anaconda cloud: made up of channels/owners. Each channels contains one or more conda packages
be careful when downloading any packages from an untrusted source,
always inspect before installation
See exo Conda Setup
defaults
bioconda: bioinformaticians contributions
conda-forge: many popular python packages (analogous to PyPI but
with a unified, automated build infrastructure and more peer review
of recipes)
r: for packages in R language
when different channels have the same package collisions
collisions resolved following the order of your channels list put supplemental channels at the bottom of your
channel list
conda create env -n myenv # creation of a conda environment
conda info --envs # list environments (* for the active one)
conda activate myenv # active the myenv environment
conda deactivate # inactivate the environment
conda list # list packages (only in an active environment)
conda install package # installation of a tool/package
conda remove package # suppress the tool from the environment
conda env remove -n myenv # suppress the myenv environment
create an environment
activate the environment
install some conda packages
list all conda packages in a configuration file (yaml or json
format)
create the environment based on the configuration file (option -f
)
activate the environment
See exo Conda configuration
good practice: use a configuration file
specify a precise version of a package:
<channel>::<package>=<version>